﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;
using RogerioCoimbra.DivulgacaoEspirita.Site.Aplicacao.DadosDinamicos;
using RogerioCoimbra.DivulgacaoEspirita.InfraEstrutura.MetodosEstendidos;

namespace RogerioCoimbra.DivulgacaoEspirita.Site
{
    public partial class ListarApenasLeitura : System.Web.UI.Page
	{
		protected MetaTable table;

		protected void Page_Init(object sender, EventArgs e)
		{
			DynamicDataManager1.RegisterControl(GridView1, true /*setSelectionFromUrl*/);
            table = GridDataSource.GetTable();
            GridView1.ColumnsGenerator = new GerenciadorCamposListar(table);
		}

		protected void Page_Load(object sender, EventArgs e)
		{
			table = GridDataSource.GetTable();
			Title = table.DisplayName;
			GridDataSource.Include = table.ForeignKeyColumnsNames;

			// Disable various options if the table is readonly
			if (table.IsReadOnly)
			{
				GridView1.Columns[0].Visible = false;
			}

			var displayColumn = table.GetAttribute<DisplayColumnAttribute>();
			if (displayColumn != null && displayColumn.SortColumn != null)
			{
				GridDataSource.OrderBy =
					string.Format("it.[{0}] {1}", displayColumn.SortColumn, displayColumn.SortDescending ? "DESC" : "ASC");
			}
		}

		protected void OnFilterSelectedIndexChanged(object sender, EventArgs e)
		{
			GridView1.PageIndex = 0;
		}
	}
}
